package com.huidian.resource.server.service;

import com.huidian.resource.server.entity.Meter;

import java.util.Collection;
import java.util.List;

/**
 * 【仪表】
 * @author super on 2021-04-03 11:18:17
 * Copyright (c) huidiancloud
 */
public interface IMeterService {

    /**
    * 列表查询
    * @param meter
    * @return
    */
    List<Meter> selectList(Meter meter);

    /**
    * 取满足条件的第一条数据
    * @param meter
    * @return
    */
    Meter selectOne(Meter meter);

    /**
    * 查询满足条件的总记录数
    * @param meter
    * @return
    */
    long selectTotal(Meter meter);

    /**
    * 删除满足条件数据
    * @param meter
    * @return
    */
    int delete(Meter meter);

    /**
    * 批量新增
    * @param list
    */
    void addBatch(List<Meter> list);

    /**
    * 按照指定条数分配进行批量新增操作
    * @param list
    * @param batchSize 每一批数据的条数
    */
    void addBatch(List<Meter> list, int batchSize);

    /**
    * 新增
    * @param meter
    */
    void addSelective(Meter meter);

    /**
    * 修改
    * @param meter
    */
    void updateObj(Meter meter);

    List<Meter> selectBatchIds(Collection<Long> meterIdList);
}
